#ifndef MAP_H
#define MAP_H

#include "Level.h"

#define LEVEL_CAPACITY 5
class Map
{
	public:
		//Constructor for the class
		Map();

		//Destructor for the class
		~Map();

		//This function will create the map out of 
		//five levels which will be used to pass through
		bool createMap();

		//This function will pass the player through to
		//the next level, however a condition must be met
		//first before that can happen.
		void nextLevel();

		//This function will return the information regarding the
		//current level
		Level*	getCurrentLevel() { return m_pCurrentLevel; }

		//This function will return the information regarding the
		//status of the level.
		bool	isLoaded() { return m_bIsLoaded; }

		//This function will allow the changing of the data member
		//in order to load in new levels
		void	hasLoaded(bool hadLoaded) { m_bIsLoaded = hadLoaded; }

	private:
		//Condition to check and see if a level
		//has been loaded
		bool		m_bIsLoaded;

		//Pointer which will be used to grab the
		//information associated with the current level
		Level*		m_pCurrentLevel;

		//Arrays which holds the maximum amount of levels
		//these levels will be initialized and stored into
		//a map
		Level		m_levels[LEVEL_CAPACITY];
};

#endif